/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package practica_ico;

import java.util.*;
import java.io.*;

/**
 *
 * @author Marko
 */
public class Mech {
    
        int numero_jugador;
        boolean operativo;
        boolean desconectado;
        boolean atascado_en_terreno_pantanoso;
        boolean en_suelo;
        int n_columna;
        int n_fila;
        int lado_encaramiento;
        int lado_encaramiento_torso;
        int temperatura_actual;
        boolean ardiendo;
        boolean con_garrote;
        boolean tipo_garrote;
        Vector puntos_blindaje = new Vector();
        Vector puntos_estructura_interna= new Vector();
        int puntos_andar;
         int puntos_correr;
        int puntos_saltar;
        int radiadores_encendidos;
        int radiadores_apagados;
        int heridas;
        boolean consciente;
        Vector slots_impactados = new Vector();
        Vector localizacion_disparo = new Vector();
        int municion_para_expulsar;
        Vector localizacion_municion = new Vector();
        Vector slot_municion_en_la_localizacion = new Vector();
        Vector narc = new Vector();
        Vector iNarc = new Vector();
        
        
        
        
        
        
  public void cogerMech (String NomFichero,int jugador_automatico){
    
    //Declaramos las variables necesarias
    File archivo = null;
    FileReader fr = null;
    BufferedReader br = null;
    
    String nombre_fichero;
    
    //char t_f[10];
    
    Mech auxiliar;
    int n_jugadores;
    int i,j;
    int aux;
    
         // Apertura del fichero y creacion de BufferedReader para poder
         // hacer una lectura comoda (disponer del metodo readLine()).
         archivo = new File (NomFichero);
         fr = new FileReader (archivo);
         br = new BufferedReader(fr);
 
         // Lectura del fichero
         String linea;
         linea = br.readLine();


  
         fr.close();     
    
    
    //abrimos el archivo
	fichero_mech.open (NomFichero.c_str());
    
    if(!fichero_mech) {
        cerr<<"Error: No se a podido abrir el fichero "<< endl;
        exit(1);
    }
    
    /* leemos del fichero abierto y los vamos almacenando en el
    vector de Mech */
    fichero_mech >> nombre_fichero;
    fichero_mech >> n_jugadores;

    //Leemos los datos de cada Mech
	for(i=0; i< n_jugadores;i++){
        
		fichero_mech >> auxiliar.numero_jugador;
		
        fichero_mech >> t_f;
		auxiliar.operativo =pasa_a_bool(t_f);
        
        fichero_mech >> t_f;
		auxiliar.desconectado = pasa_a_bool(t_f);

        fichero_mech >> t_f;
		auxiliar.atascado_en_terreno_pantanoso = pasa_a_bool(t_f);

        fichero_mech >> t_f;
		auxiliar.en_suelo = pasa_a_bool(t_f);

        fichero_mech >> auxiliar.n_fila;
		auxiliar.n_columna= auxiliar.n_fila/100;
		auxiliar.n_fila= auxiliar.n_fila%100;		
		fichero_mech >> auxiliar.lado_encaramiento;		
        fichero_mech >> auxiliar.lado_encaramiento_torso;
        fichero_mech >> auxiliar.temperatura_actual;
		
        fichero_mech >> t_f;
		auxiliar.ardiendo = pasa_a_bool(t_f);
        
        fichero_mech >> t_f;
		auxiliar.con_garrote = pasa_a_bool(t_f);
        
        fichero_mech >> t_f;
		auxiliar.tipo_garrote = pasa_a_bool(t_f);


		for(j=0; j < 11; j++){
			fichero_mech >> aux;
			auxiliar.puntos_blindaje.push_back(aux);
		}

		for(j=0; j < 8; j++){
			fichero_mech >> aux;
			auxiliar.puntos_estructura_interna.push_back(aux);		
		}
		
        if(jugador_automatico == auxiliar.numero_jugador){
            
			fichero_mech >> auxiliar.puntos_andar;
			fichero_mech >> auxiliar.puntos_correr;
			fichero_mech >> auxiliar.puntos_saltar;
            fichero_mech >> auxiliar.radiadores_encendidos;
            fichero_mech >> auxiliar.radiadores_apagados;
			fichero_mech >> auxiliar.heridas;
			
            fichero_mech >> t_f;
			auxiliar.cosciente= pasa_a_bool(t_f);
	
			for(j=0; j < 78; j++){
				fichero_mech >> t_f;
				auxiliar.slots_impactados.push_back(pasa_a_bool(t_f));
			}
		
        	for(j=0; j < 8; j++){
				fichero_mech >> t_f;
				auxiliar.localizacion_disparo.push_back(pasa_a_bool(t_f));			
			}    		

			fichero_mech >> auxiliar.municion_para_expulsar;
			
			for (j=0; j < auxiliar.municion_para_expulsar; j++){
                
                fichero_mech >> t_f;
			    auxiliar.localizacion_municion.push_back(transformaEntero(t_f));
			    
                fichero_mech >> t_f;
                auxiliar.slot_municion_en_la_localizacion.push_back(atoi(t_f));
            }
		}
		
        for(j=0; j<n_jugadores;j++){
            fichero_mech >> t_f;
            auxiliar.narc.push_back(pasa_a_bool(t_f));
		}
		
		for(j=0; j<n_jugadores; j++){
            fichero_mech >> t_f;
            auxiliar.iNarc.push_back(pasa_a_bool(t_f));
		}
		
		//almacenamos el Mech dentro del vector de Mechs 
        vector_mechs.push_back(auxiliar);
	}
	
	//para terminar cerramos el fichero
	fichero_mech.close();
}
      
        
//-----------------------------------------------------------------------------------------------------
        
        public int Numero_jugador(){
               return numero_jugador;
        }
      

//-----------------------------------------------------------------------------------------------------

public boolean Operativo(){
    
    return operativo;

}
 
 
//-----------------------------------------------------------------------------------------------------


public boolean Desconectado(){
    
    return desconectado;
    
}

//-----------------------------------------------------------------------------------------------------

public boolean Atascado_en_terreno_pantanoso(){
    
    return atascado_en_terreno_pantanoso;
    
}
 
//-----------------------------------------------------------------------------------------------------

public boolean En_suelo(){
    
    return en_suelo;
    
}

//-----------------------------------------------------------------------------------------------------

public int N_columna(){
    
    return n_columna;
    
}

//-----------------------------------------------------------------------------------------------------

public int N_fila(){
    
    return n_fila;
    
}

//-----------------------------------------------------------------------------------------------------

public int Lado_encaramiento(){
    
    return lado_encaramiento;
    
}

//-----------------------------------------------------------------------------------------------------

public int Lado_encaramiento_torso(){
    
    return lado_encaramiento_torso;
    
}

//-----------------------------------------------------------------------------------------------------


public int Temperatura_actual(){
    
    return temperatura_actual;
    
}

//-----------------------------------------------------------------------------------------------------

public boolean Ardiendo(){
    
    return ardiendo;
    
}

//-----------------------------------------------------------------------------------------------------

public boolean Con_garrote(){
    
    return con_garrote;
    
}

//-----------------------------------------------------------------------------------------------------

public boolean Tipo_garrote(){
    
    return tipo_garrote;
    
}

//-----------------------------------------------------------------------------------------------------

public int Puntos_andar(){
    
    return puntos_andar;
    
}

//-----------------------------------------------------------------------------------------------------

public int Puntos_correr(){
    
    return puntos_correr;
    
}

//-----------------------------------------------------------------------------------------------------

public int Puntos_saltar(){
    
    return puntos_saltar;
    
}

//-----------------------------------------------------------------------------------------------------

public int Radiadores_encendidos(){
    
    return radiadores_encendidos;
    
}

//-----------------------------------------------------------------------------------------------------

public int Radiadores_apagados(){
    
    return radiadores_apagados;
    
}

//-----------------------------------------------------------------------------------------------------

public int Heridas(){
    
    return heridas;
    
}

//-----------------------------------------------------------------------------------------------------

public int Puntos_blindaje(int i){
    
    return puntos_blindaje[i];
    
}

//-----------------------------------------------------------------------------------------------------

public int Puntos_estructura_interna(int i){
    
    return puntos_estructura_interna[i];
    
}

//-----------------------------------------------------------------------------------------------------

public boolean Slots_impactados(int i){
    
    return slots_impactados[i];

}

//-----------------------------------------------------------------------------------------------------

public boolean Localizacion_disparo(int i){
    
    return localizacion_disparo[i];
    
}

//-----------------------------------------------------------------------------------------------------

public int Localizacion_municion(int i){
    
    return localizacion_municion[i];

}

//-----------------------------------------------------------------------------------------------------

public int Slot_municion_en_la_localizacion(int i){
    
    return slot_municion_en_la_localizacion[i];
    
}

//-----------------------------------------------------------------------------------------------------

public boolean Narc(int i){
    
    return narc[i];
    
}


//-----------------------------------------------------------------------------------------------------

public boolean INarc(int i){
    
    return iNarc[i];
    
}

//-----------------------------------------------------------------------------------------------------


public boolean Consciente(){
    
    return consciente;
    
}

//-----------------------------------------------------------------------------------------------------

public int Municion_expulsar(){
	
	return municion_para_expulsar;

}







}
